VI Foro de Transformación del Estado // El Universo de R // Jesús M. Castagnetto M., 2019-09-26      

El Universo de “R

Análisis y Visualización de datos

Jesús M. Castagnetto M., Ph.D.

VI Foro de Transformación del Estado
UTEC, Lima, 2019/09/26

 

R

  • Inspirado en S (John Chambers, Bell Labs, 1978)
  • Creado en 1991 por Ross Ihaka y Robert Gentleman (Universidad de Auckland, Nueva Zelandia)
  • Software para proceso, análisis, modelado y visualización de datos
  • Un lenguaje de programación completo y en continuo crecimiento
  • Corre en cualquier plataforma y sistema operativo (incluyendo móviles, consolas de juegos, etc.)
  • Es un proyecto de Código Abierto/Libre (FLOSS)
  • Una serie de comunidades y proyectos: Bioinformática (Bioconductor), GIS (Rgeo), Finanzas y Economía (Rmetrics), Visualización de datos, etc.

Uso de R en el mundo

  • Compañías: Google, Facebook, Microsoft, Twitter, AirBnB, IBM, Uber, AWS, HP, Novartis, Ford, etc.

  • Periodismo: BBC, Buzzfeed, The Economist, Financial Time, New York Times, etc.

  • Gobiernos: El Gobierno del Reino Unido, el estado de Indiana, Ciudad de Chicago, etc.

  • Bancos/Finanzas: HSBC, J.P. Morgan, Morgan Stanley, Citibank, Fidelity, Bank of America, AMEX, etc.

  • Otros: Gartner, AC Nielsen, Deloitte Consulting, Accenture, PricewaterhouseCoopers, Target, etc.

Qué ofrece R

  • Un lenguaje adecuado a los cálculos estadísticos
  • Una multitud de librerías que permiten calcular, modelar, etc. y trabajar con datos pequeños o grandes
    • Al 2019/09/23: 14,962 paquetes oficiales
    • En Github: 15,232 repositorios (proyectos) relacionados
  • Comunidades:
    • Grupos de usuarios (R-Ladies, Grupos locales)
    • Conferencias (UseR!, EARL, rstudio::conf, etc.)
    • Espacios de interacción y aprendizaje en línea: R for Data Science Community, TidyTuesday, etc.
  • Muchísimo material para aprender: Cursos, libros, videos, código, etc.

Exploración de datos

El ciclo de análisis: importar datos, limpiarlos, transformarlos, visualizarlos, modelarlos, y al final, comunicar los hallazgos

Exploración en Ciencia de Datos

Referencia: “R for Data Science”, G. Grolemund y H. Wickham

Ventajas de usar código para análisis de datos

  • Documenta los pasos que se emplearon para obtener los datos.
  • Muestra explícitamente como se corrigieron los errores encontrados, que se excluyó, como se normalizó la codificación, etc.
  • Explica en forma exacta las transformaciones que se hicieron a los datos.
  • Es reproducible a nivel de métodos y resultados, y hasta de inferencias.
  • Se puede poner en un sistema de control de versiones, y así ver como evolucionó y se modificó en el tiempo.

Ejemplos de uso de R

Analizar la distribución de notas de un exámen

  • Consideremos las notas de un exámen para un grupo de alumnos.
  • Vamos a usar R para simular las notas
  • Luego calcularemos estadísticas básicas de estos datos
  • Después, graficaremos la distribución de las notas
  • Finalmente, usaremos operaciones simples en R para corregir un error en las notas.

Simular las notas

##  [1]  4.4 14.8 14.0  7.3  8.0 13.8  8.8 14.2  8.7  9.0  8.6 16.8  9.0 13.0
## [15] 10.2

Calcular estadísticas

## [1] 11.636
## [1]  4.4 16.8
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   4.400   9.475  11.550  11.636  14.000  16.800

Graficar la distribución

Las preguntas 14 y 15 eran incorrectas (!!!)

  • Les damos 2 puntos a todos y comparamos las estadísticas
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   4.400   9.475  11.550  11.636  14.000  16.800
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    6.40   11.47   13.55   13.64   16.00   18.80

Agrupación de datos

  • Existe un grupo de datos clásico (iris) que contiene lirios de tres especies, y datos de longitud y ancho de los pétalos y sépalos.

Especies de lirios

  • Vamos a graficar un par de estos parámetros

Viendo los lirios

Mejoremos el gráfico

Cambios en la composición del Congreso de la República

Que ha pasado entre el 2016 y el 2019

La composición de los partidos/bancadas en el Congreso de la República ha variado desde el 2016 a la fecha.

Intentaremos mostrar este cambio en forma gráfica, usando la información existente en Wikipedia.

Extrayendo datos de Wikipedia

Limpiando los datos

Al inicio (2016)

En la actualidad (2019)

Graficando los cambios del 2016 al 2019

Las Constituciones del Perú

Análisis del texto de las Constituciones

  • Obtener los archivos PDF con el texto de las Constituciones (del sitio del Congreso de la República)
  • Convertir de PDF a texto (usando pdftotext)
  • Procesar el texto con R
  • Graficar un “Nube de palabras” con los términos mas usados
  • Crear una animación de los 10 términos mas frecuentes, desde el texto de 1812 al 1993.

Función para extraer y clasificar los textos

Código de la “Nube de Palabras” (1812)

El gráfico de 1812

Código de la “Nube de Palabras” (1993)

El gráfico de 1993

Animación de términos (1812-1993)

Animación de términos

Graficar los vuelos desde y hacia el Perú

Usamos datos de OpenFlights.org

Proceso de datos

  • Se obtuvieron los archivos:
    • airlines.dat: Lista de aerolíneas mundiales
    • airports.dat: Lista de aeropuertos, geolocalizados
    • countries.dat: Lista de países (con códigos ISO)
    • routes.dat: Lista de las rutas (al 2014)
  • Usando estos archivos se combinó la información de aeropuertos, países y rutas
  • Finalmente, se extrajo sólo aquellos registros de vuelos desde o hacia aeropuertos en Perú.

Código para la visualización

Los vuelos desde/hacia Perú en un globo terráqueo

Material de referencia

Libros y otros

Gracias por escucharme